1. Field of the Invention
The present invention relates to the field of synchronizing angular position indicators.
2. Background Art
Many applications require precise information regarding the angular position of a rotating shaft. For example, in automotive applications, engine operations are synchronized with the angular position of the cam shaft or crank shaft. In an internal combustion engine, certain engine operations, such as the firing of spark plugs, the opening and closing of engine valves, injection of fuel, etc., are controlled to maximize fuel efficiency, minimize exhaust emissions, and increase engine performance. This control is provided by synchronizing these operations with the angular position of a rotating crankshaft and/or camshaft.
Many methods are utilized to translate the rotation of a shaft into electrical signals. In one application a marked rotor, formed as a portion of a shaft or mechanically coupled to a shaft, rotates as the shaft rotates. A sensor, positioned near the spinning rotor, produces an electronic pulse signal each time a mark on the rotor passes through its sensing field. By counting pulses in the sensor's output waveform, the angular displacement of the rotor is determined at a resolution inversely proportional to the interval between marks.
Because of practical limitations on the construction of a rotor and the sensitivity of sensors, only a finite number of marks may be positioned on the rotor. This limitation limits the resolution of angular displacement measurements. For example, in some prior art applications, angular displacement can only be determined in 10.degree. increments.
Many applications require angular displacement information at resolutions finer than those attainable by simply detecting the passage of marks on a spinning rotor. Some prior art angular position indicators interpolate between pulses in the sensor output waveform. These prior art schemes estimate future pulse intervals based upon past measured pulse intervals. By dividing the interval between sensor pulses into finer partitions, the resolution of angular displacement information is increased. The resulting waveform, comprised of sensor pulses and interpolated pulses, corresponds to angular positions between marks on a rotor with uniform mark spacing. The interpolated pulses are utilized to trigger events.
FIG. 5 illustrates an angular position indicating system utilizing a rotor with uniform mark spacing. A rotating shaft 501 is coupled to a rotor 502. The rotor 502 has eight uniformly-spaced marks (teeth) 503 on its perimeter. The sensor 504 is coupled to angular position indicator logic 505 and synchronization circuitry 506. Angular position indicator logic 505 is also coupled to synchronization circuitry 506.
As each of the teeth 503 passes through a specified region, it is detected by a sensor 504. The sensor 504 outputs a pulse signal each time it detects a tooth. The angular position indicator logic 505 receives the pulse signal from the sensor 504 and interpolates pulses between the sensor pulses to produce angular displacement information with increased resolution. The synchronization circuitry 506 monitors the output of the sensor 504 to verify that particular angular positions on the rotor correspond to particular pulses in the sensor output waveform. The angular position indicator logic 505 uses the output of the synchronization circuitry 506 to maintain synchronization with the rotating rotor.
The synchronization circuitry 506 monitors the output of sensor 504 to verify that particular angular positions on the rotor correspond to particular pulses in the sensor output waveform. The synchronization circuitry 506 sends signals, corresponding to the angular position of the rotor, to the angular position indicator logic 505. The angular position indicator logic 505 uses these signals to coordinate its operations. The angular position indicator logic 505 compares the synchronization signals with its own internal state and adjusts itself if necessary. The angular position indicator logic 505 produces control signals appropriate for subsequent angular positions in synchronization with the angular displacement of the rotor.
To accurately interpolate the rotor's angular displacement, the angular position indicator logic 505 must maintain synchronization with the rotating rotor. When an engine is started, the cam and crank shafts have unknown angular positions. Synchronization circuitry is used to determine the angular position of the rotor. In order to minimize battery drain and exhaust emissions, it is desirable to obtain synchronization after only minimal rotation of the rotor. Synchronization between the angular position indicator logic and the rotor is continually checked during normal rotation of the rotor to insure efficient operation of the engine.
A prior art system utilizes a microprocessor system to synchronize the activities of the angular position indicator with the rotation of a rotor. The microprocessor is programmed with complicated, application-specific software. The microprocessor system utilizes numerous signal connections to obtain sensory information and to output control signals. The size and complexity of the microprocessor system increases as the number of engine control signals required to interface with the microprocessor increases.
The microprocessor system utilizes software-controlled timers to recognize unique sensor pulse patterns, corresponding to unique patterns of teeth on the rotor. A library of unique rotor teeth patterns is pre-programmed into software. Once a sensor pulse pattern is matched with a stored pattern, a synchronization point is identified. The synchronization point is used to calculate synchronization signals for the angular position indicator. The calculation of synchronization signals adds to the processing burden on the microprocessor.
The microprocessor system is inherently limited by the speed of its clock. The microprocessor and its software rely upon the constant frequency provided by the microprocessor's clock to coordinate both internal and external time-sensitive activities. As the angular velocity of the shaft increases, the real-time processing burden on a software-based system increases. A microprocessor system, responsible for many engine functions, has less time to perform other functions as it responds to the increasing real-time burden of tracking the angular displacement of one or more rotors. Some prior art systems, unable to bear the processing burden, severely abbreviate or even discontinue entirely certain processing functions when the rotor achieves high velocity. Functionality provided by the microprocessor is sacrificed to accommodate the burden of maintaining synchronization with one or more rotating shafts.
Microprocessor systems require complex software to prioritize and coordinate processor functions under the constraint of limited clock speed. Customized software is developed for each application. Software implementation requires a substantial engineering investment in research, design, testing, and software maintenance. Designing software suited to the synchronization of an angular position indicator necessitates detailed knowledge of the specific hardware application and of other software running in the microprocessor.
Other prior art systems utilize hardware-based systems to synchronize the activities of angular position indicator logic with the rotation of a rotor. The prior art is not programmable and therefore customized hardware must be developed for each application. Also, the prior art synchronization circuitry is incompatible with rotors with non-uniform mark spacing.
One prior art scheme described in Long, et al., U.S. Pat. No. 4,494,509, utilizes an analog phase locked loop to estimate shaft angular velocity and interpolate shaft angular position. The phase locked loop of Long et al. is incompatible with a rotor with non-uniform mark spacing. Long, et al. does not teach, disclose, or suggest the synchronization of an angular position indicator with a rotor with non-uniform mark spacing.
Hirka et al., U.S. Pat. No. 5,041,979, describes an angular position counter which poorly estimates the angular displacement of a rotor with non-uniform mark spacing. Hirka et al. utilizes a rotor with uniform tooth spacing missing a single tooth. Synchronization circuitry detects the missing tooth and utilizes it as a synchronization point for the angular position indicator. A rotor with non-uniform tooth spacing may have many large intervals between teeth that Hirka et al. would recognize as a missing tooth. Thus, Hirka et al. is incompatible with a rotor with non-uniform mark spacing. Hirka et al. does not teach, disclose, or suggest the synchronization of an angular position indicator with a rotor with non-uniform mark spacing.